1. Field of the Invention
The present invention relates to an error correction method that is performed in cases where read errors are generated in a magnetic disk drive.
2. Description of the Related Art
The recording density of magnetic disk drives has been increasing year by year. Consequently, in cases where defects of the same magnitude are present on [recording] media, the errors that are generated have begun to appear as relatively greater error lengths. In cases where large errors are generated, a simple means which allows the detection and correction of such errors is an increase in the error correction code that is added to the data. However, this method suffers from the following vicious circle: namely, the formatting efficiency drops, so that the recording density must be raised even further.
Namely, in cases where data is written with a (2×n) byte Reed-Solomon code added as an error correction code, n bytes are used to specify the error position; accordingly, the error correction capacity is a maximum of n bytes. Consequently, if data is written with a (4×n) byte Reed-Solomon code added, then errors up to a maximum of (2×n) bytes can be corrected. However, the data recording capacity is reduced by an amount corresponding to the (2×n) byte increase. Accordingly, if the recording density is increased in order to compensate for this decrease, there is a corresponding increase in the generation of errors, so that the merit obtained by increasing the correction capacity is correspondingly diminished.
A method known as the erasure method is available as a method that improves the correction capacity without changing the length of the error correction code that is added.
FIG. 2 shows the system construction used in a case where erasure correction is applied. The area surrounded by a broken line is generally provided as the function of an HDC 206 (hard disk controller).
The NRZ data reproduced by the R/W channel 201 is usually accumulated temporarily in a buffer memory 202. A syndrome is produced by a syndrome generator 203 from NRZ data that is extracted from the buffer memory 202 by the HDC. The decoder 204 produces an erasure-locator polynomial from an erasure pointer that indicates the error position.
TA flags or error flags issued by the R/W channel are utilized in order to specify error positions.
The TA flag is a flag that detects the positions of errors by thermal asperity (=TA). TA refers to a phenomenon that is measured in cases where a magnetic resistance effect (MR) element is used in the read head. An MR element shows a variation in resistance in cases where the temperature of the element rises as a result of friction caused by contact with projections on the magnetic disk; accordingly, this a phenomenon in which an abnormal amplitude resulting from the variation in resistance caused by heat is superimposed on the intrinsic signal component.
As is shown in FIG. 3, the amplitude of the analog read waveform 301 from the head that is input into the R/W channel via the R/W amplifier is monitored. In cases where a signal amplitude that exceeds a certain slice 302 is detected by this monitoring, TA is present in this position, and it is therefore possible to infer that an error has been generated.
Furthermore, as indicated by the name, the error flag is a flag that is issued in areas where there is a possibility that an error has been generated. This error flag [functions as follows:] specifically, the discrepancy between the expected ideal signal that should be input into the data playback circuit of the R/W channel in cases where the NRZ data that is decoded from the analog read waveform is correct and the signal that is actually input into the R/W channel is monitored, and in cases where this discrepancy is large, the error flag indicates the possibility that an error has been generated in this position. This error flag is issued by the R/W channel.
In addition to erasure correction using such a flag issued by the R/W channel, a method in which the error correction code is formed as a multiple code, and errors in the error correction code are allowed by a multi-decision circuit as indicated (for example) in Japanese Patent Laid-Open No. H6-20403, and a method in which the error generation position is hypothetically set and erasure correction is performed by varying this position as indicated in Japanese Patent Laid-Open No. 2000-100086, have also been considered.
Once the error position has been determined by TA or the like, a modified error-locator polynomial is produced from the syndrome and the erasure-locator polynomial. Then an error-magnitude polynomial ω(x) is produced from the modified error-locator polynomial. Finally, the chain search and error [value] generator 205 performs a chain search for the error-locator polynomial in order to detect the error position, and the error magnitude is determined by calculating the error-magnitude polynomial and modified error-locator polynomial.
In the modified error-locator polynomial, the number of unknown values used to specify the error position is smaller than in the abovementioned error-locator polynomial; accordingly, in a case where the same number of errors is generated, the probability that the errors can be corrected is higher. Consequently, in cases where erasure correction is applied, and data is written with a (2×n) byte Reed-Solomon code added, it is possible to correct errors up to a maximum of (2×n) bytes.